home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Amiga Collections: Panorama
/
Panorama - Disk 19D (1987-07-22)(Pacific North-West Amigas Club)[WB].zip
/
Panorama - Disk 19D (1987-07-22)(Pacific North-West Amigas Club)[WB].adf
/
HackBench
/
README
< prev
Wrap
Text File
|
1987-07-14
|
2KB
|
60 lines
HackBench requires V1.2, and should be compiled using Aztec
3.40a with 16-bit integers:
cc hbicon
cc hbobj
cc hbgad
ln -o hb hbicon.o hbobj.o hbgad.o -lc
You'll undoubtedly get a few warnings--my include files are
customized, e.g. Window titles are char *'s instead of UBYTE *'s,
and my functions.h file has been corrected.
The purpose of HackBench is to provide the source for a
Workbench-like program; it is not intended to be an actual
Workbench replacement. Some features are not supported, such as
Info, Snapshot, Format, and DiskCopy. Use of HackBench takes
more memory since Workbench is in ROM.
HackBench manages WBObjects. WBObjects are represented
simultaneously:
1) On the disk as a .info file
2) On the screen as an icon
3) Internally as a WBObject data structure.
HackBench coordinates things so that icon manipulations are
transmitted to the disk.
HackBench uses the UserData field of the Intuition Window to
store a pointer back to the WBObject, and sets the WBENCHWINDOW
bit in the Window's Flag field as a means of identification.
All the WBObjects existing at any time are linked together
on a Master List. Order of WBObjects in the Master List
determines which icon is drawn first, and therefore which one
appears in front. Each Disk or Drawer has a Children List,
imitating the structure of the filing system. Objects currently
selected (and highlighted) appear on the Select List.
The Master List must constantly reflect what is on the
screen. When a Window is opened, each .info file found is used
to build a WBObject, which is added to the Children List. Unlike
Workbench, we save the icons and display them all at once.
When a window is closed, its Children are deleted, except
for those whose icons are currently open themselves or living on
the backdrop. If the Drawer is later reopened, these orphans
must be found and relinked with their Parent to avoid
duplication.
HackBench has several Intuition-like features that are
managed without help from Intuition. Icons are stored in Gadget
structures, but are not actual Intuition Gadgets. HackBench
handles by itself the display, highlighting and hit detection for
icons.
An open Drawer simulates an Intuition SuperBitMap Window,
without using a second BitMap. The icons live in a scrollable
virtual coordinate system, but the extent of this is not fixed.
As the icons change position, the virtual coordinates
automatically extend or contract as necessary.